package com.wb3.meta.api.core.service;

import com.wb3.meta.api.core.model.MyToys;
import com.wb3.meta.api.core.vo.ReqMyToysVo;
import com.wb3.meta.api.core.vo.ReqUsersVo;
import com.wb3.meta.api.core.vo.ResGoodsOrdersVo;
import com.wb3.meta.api.core.vo.ResMyToysVo;
import com.wb3.meta.common.plugin.CommonResultServiceInterface;
import com.wb3.meta.common.pojo.ResultT;

import java.io.IOException;

public interface MyToysService extends CommonResultServiceInterface<ReqMyToysVo, ResMyToysVo, MyToys> {
    /**
     * @Author RP
     * @Description //TODO 绑定崽崽
     * @Date 13:56 2024/1/11
     * @Param [vo]
     * @return com.wb3.meta.common.pojo.ResultT
     **/
    ResultT bindToy(ReqMyToysVo vo);

    ResultT chat(ReqMyToysVo reqMyToysVo) throws IOException;

    ResultT text2Audio(ReqMyToysVo reqMyToysVo);

    ResultT shareMsg( ReqMyToysVo reqMyToysVo);

    void giveToys(ReqUsersVo reqUsersVo );

    ResultT testGive();

    ResultT resetChatMsg(ReqMyToysVo reqMyToysVo);

    ResultT batchSend(ReqMyToysVo reqMyToysVo);

    /**
     * @Author RP
     * @Description //TODO 公众号领取娃娃
     * @Date 22:46 2024/2/8
     * @Param [msg]
     * @return java.lang.String
     **/
    String getWawaByMp(String mpOpenId,String msg);

    ResultT textToTts(ReqMyToysVo reqMyToysVo);

    ResultT createStory(ReqMyToysVo reqMyToysVo);

    /**
     * @Author RP
     * @Description //处理崽崽购买事件
     * @Date 18:32 2024/3/30
     * @Param [goodsId]
     * @return void
     **/
    void handleBuyToys(ResGoodsOrdersVo resGoodsOrdersVo);

    void handleExpireToys();

    void handleToysPower();

    ResultT restorePower(ReqMyToysVo reqMyToysVo);

    int calIntimacy(ResMyToysVo resMyToysVo, int mood);
}
